/* ==========================================================================
   Content pages — heroes, bands, feature grids, legal prose, stores, embeds.
   Markup is core blocks with these classes (see patterns/content-*.php).
   ========================================================================== */

/* ---------- Icons (mask images; colour follows currentColor) ---------- */
.hk-ico { position: relative; }
.hk-ico::before { content: ""; display: inline-block; width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: var(--hk-ico) center / contain no-repeat; mask: var(--hk-ico) center / contain no-repeat; }
.hk-ico--zap { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3 4 14h7l-1 7 9-11h-7l1-7Z'/%3E%3C/svg%3E"); }
.hk-ico--shield { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6l-7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.hk-ico--wrench { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L4 17l3 3 5.3-5.3a4 4 0 0 0 5.4-5.4l-2.4 2.4-2.6-.6-.6-2.6 2.6-2.2Z'/%3E%3C/svg%3E"); }
.hk-ico--tools { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L4 17l3 3 5.3-5.3a4 4 0 0 0 5.4-5.4l-2.4 2.4-2.6-.6-.6-2.6 2.6-2.2Z'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E"); }
.hk-ico--truck { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17.5' cy='18' r='1.8'/%3E%3C/svg%3E"); }
.hk-ico--return { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10h-3'/%3E%3C/svg%3E"); }
.hk-ico--card { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E"); }
.hk-ico--store { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9 5.5 4h13L20 9M4 9v11h16V9M4 9h16M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.hk-ico--pin { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.hk-ico--phone { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E"); }
.hk-ico--mail { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.hk-ico--clock { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.hk-ico--info { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8v.01'/%3E%3C/svg%3E"); }
.hk-ico--file { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5Z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E"); }
.hk-ico--hex { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 7.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m12 8 3.5 2v4L12 16l-3.5-2v-4L12 8Z'/%3E%3C/svg%3E"); }
.hk-ico--scale { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M5 20h14M7 8h10'/%3E%3Cpath d='m7 8-3 6a3 3 0 0 0 6 0L7 8ZM17 8l-3 6a3 3 0 0 0 6 0l-3-6Z'/%3E%3C/svg%3E"); }
.hk-ico--leaf { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 15-14-1 10-6 15-14 15'/%3E%3Cpath d='M5 19 13 11'/%3E%3C/svg%3E"); }
.hk-ico--motor { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M2 12h3M19 12h3M4.9 19.1 7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.hk-ico--wifi { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0'/%3E%3Ccircle cx='12' cy='19' r='.8'/%3E%3C/svg%3E"); }
.hk-ico--sparkle { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3Cpath d='m12 8 1.2 2.8L16 12l-2.8 1.2L12 16l-1.2-2.8L8 12l2.8-1.2L12 8Z'/%3E%3C/svg%3E"); }
.hk-ico--filter { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E"); }
.hk-ico--check { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E"); }
.hk-ico--volume { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4V9Z'/%3E%3Cpath d='M16.5 9a4 4 0 0 1 0 6'/%3E%3C/svg%3E"); }
.hk-ico--layers { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 13 9 5 9-5'/%3E%3C/svg%3E"); }
.hk-ico--fridge { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='3' width='12' height='18' rx='2'/%3E%3Cpath d='M6 10h12M9 6v2M9 13v3'/%3E%3C/svg%3E"); }
.hk-ico--tv { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='12' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
.hk-ico--chef { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 14a4 4 0 0 1-1-7.9A5 5 0 0 1 16 5a4 4 0 0 1 1 9'/%3E%3Cpath d='M7 14h10v6H7z'/%3E%3C/svg%3E"); }
.hk-ico--wind { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11a3 3 0 1 0-3-3M3 15h15a3 3 0 1 1-3 3M3 12h7'/%3E%3C/svg%3E"); }
.hk-ico--drop { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z'/%3E%3C/svg%3E"); }
.hk-ico--flame { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21a6 6 0 0 0 6-6c0-4-3-6-4-10-2 2-3 4-3 6-1-1-2-2-2-3-2 2-3 4-3 7a6 6 0 0 0 6 6Z'/%3E%3C/svg%3E"); }
.hk-ico--arrow { --hk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }

/* ---------- Flow reset for full-bleed sections ---------- */
.wp-block-post-content > .hk-hero,
.wp-block-post-content > .hk-band { margin-block: 0; }
.wp-block-post-content > .hk-hero:first-child { margin-top: 0; }
.hk-band__inner > :first-child, .hk-hero__text > :first-child { margin-top: 0; }

/* ---------- Hero ---------- */
.hk-hero {
  position: relative; overflow: hidden;
  padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60);
  background: radial-gradient(90% 120% at 100% 0%, var(--hk-accent-soft) 0%, rgba(255, 246, 221, 0) 55%), var(--hk-surface);
  border-bottom: 1px solid var(--hk-line);
}
.hk-hero__grid { gap: var(--wp--preset--spacing--60); align-items: center; }
.hk-hero__text > * + * { margin-top: 0; }
.hk-hero .hk-eyebrow { margin: 0 0 1rem; }
.hk-hero__title {
  font-size: var(--wp--preset--font-size--3-xl); font-weight: 700; letter-spacing: -.028em; line-height: 1.02;
  max-width: 15ch; margin: 0; text-wrap: balance;
}
.hk-hero__lede { font-size: clamp(1.0625rem, 1.2vw, 1.25rem); color: var(--hk-ink-2); max-width: 56ch; margin: 1.25rem 0 0; line-height: 1.55; text-wrap: pretty; }
.hk-hero__actions { margin-top: 2rem !important; gap: .75rem; }
.hk-hero--compact { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.hk-hero--compact .hk-hero__title { font-size: var(--wp--preset--font-size--2-xl); max-width: 22ch; }
.hk-hero--brand .hk-brand-mark { margin: 0 0 1.25rem; }
.hk-hero--brand .hk-brand-mark img { width: 88px; height: auto; border-radius: 0; }
.hk-hero .hk-chip-nav { margin-top: 2rem; }

.hk-media-tile { position: relative; border-radius: var(--hk-radius-xl); overflow: hidden; background: var(--hk-surface-2); box-shadow: var(--hk-shadow-lg); aspect-ratio: 4 / 3; }
.hk-media-tile .wp-block-image, .hk-media-tile figure { margin: 0; height: 100%; }
.hk-media-tile img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; }

/* ---------- Stat tiles ---------- */
.hk-stats { gap: var(--wp--preset--spacing--30); }
.hk-stat { background: var(--hk-bg); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); padding: var(--wp--preset--spacing--40); box-shadow: var(--hk-shadow-sm); }
.hk-stat:first-child { background: var(--hk-ink); border-color: var(--hk-ink); color: #fff; }
.hk-stat:first-child .hk-stat__label { color: rgba(255, 255, 255, .72); }
.hk-stat:first-child .hk-stat__num { color: var(--hk-accent); }
.hk-stat > * { margin: 0; }
.hk-stat__num { font-family: var(--wp--preset--font-family--display); font-size: clamp(2.25rem, 3.4vw, 3rem); font-weight: 700; letter-spacing: -.028em; line-height: 1; font-variant-numeric: tabular-nums; }
.hk-stat__label { margin-top: .5rem !important; font-size: var(--wp--preset--font-size--sm); color: var(--hk-muted); line-height: 1.4; }

/* ---------- Bands (page sections) ---------- */
.hk-band { padding-block: var(--wp--preset--spacing--60); }
.hk-band--surface { background: var(--hk-surface); }
.hk-band--tight { padding-block: var(--wp--preset--spacing--50); }
.wp-block-post-content > .hk-band:not(.hk-band--surface) + .hk-band:not(.hk-band--surface):not(.hk-band--cta) { padding-top: 0; }
.hk-band--cta { padding-block: 0 var(--wp--preset--spacing--60); }
.hk-band--surface + .hk-band--cta, .hk-hero + .hk-band--cta { padding-top: var(--wp--preset--spacing--60); }
.hk-band__head { margin-bottom: var(--wp--preset--spacing--50); max-width: 720px; }
.hk-band__head > * { margin: 0; }
.hk-band__head .hk-eyebrow { margin-bottom: .75rem; }
.hk-band__title { font-size: var(--wp--preset--font-size--xl); letter-spacing: -.022em; text-wrap: balance; }
.hk-band__lede { margin-top: .75rem !important; color: var(--hk-muted); max-width: 60ch; }
.hk-band__headrow { gap: 1rem; margin-bottom: var(--wp--preset--spacing--50); }
.hk-band__headrow .hk-band__head { margin-bottom: 0; }
.hk-lede { font-size: clamp(1.0625rem, 1.3vw, 1.25rem); line-height: 1.6; color: var(--hk-ink-2); text-wrap: pretty; }

/* ---------- Split (title / body) ---------- */
.hk-split { gap: var(--wp--preset--spacing--60); }
@media (min-width: 782px) {
  .hk-split > .wp-block-column:first-child { flex: 0 0 34%; }
  .hk-split--even > .wp-block-column:first-child { flex: 1 1 0; }
}
.hk-split .wp-block-column > :first-child { margin-top: 0; }
.hk-split .hk-eyebrow { margin-bottom: .75rem; }
.hk-split .hk-band__title { margin-top: 0; }

/* ---------- Statement ---------- */
.hk-statement { max-width: 980px; }
.hk-statement .hk-eyebrow { margin: 0 0 1rem; }
.hk-statement__text { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 3vw, 2.375rem); font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--hk-ink); text-wrap: balance; }

/* ---------- Feature cards ---------- */
.hk-feature-grid { gap: var(--wp--preset--spacing--30); }
.hk-feature { height: 100%; transition: box-shadow var(--hk-ease), transform var(--hk-ease), border-color var(--hk-ease); }
.hk-feature > * { margin: 0; }
.hk-feature > * + * { margin-top: .75rem; }
.hk-feature p { overflow-wrap: anywhere; color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); line-height: 1.65; }
.hk-feature .wp-block-buttons { margin-top: 1.25rem; }
.hk-feature h3 { font-size: 1.1875rem; letter-spacing: -0.02em; }
.hk-feature:hover { box-shadow: var(--hk-shadow); border-color: transparent; }
.hk-feature__meta { font-weight: 550; }
.hk-feature__meta a { color: var(--hk-ink); }

.hk-feature__title.hk-ico, .hk-linktile__title.hk-ico { padding-top: 64px; }
.hk-feature__title.hk-ico::before, .hk-linktile__title.hk-ico::before {
  position: absolute; top: 0; left: 0; width: 48px; height: 48px; border-radius: var(--wp--custom--radius--md);
  -webkit-mask: none; mask: none; background: var(--hk-surface); transition: background-color var(--hk-ease);
}
.hk-feature__title.hk-ico::after, .hk-linktile__title.hk-ico::after {
  content: ""; position: absolute; top: 13px; left: 13px; width: 22px; height: 22px; background: var(--hk-ink);
  -webkit-mask: var(--hk-ico) center / contain no-repeat; mask: var(--hk-ico) center / contain no-repeat;
}
.hk-feature:hover .hk-ico::before, .hk-linktile:hover .hk-ico::before, .hk-linktile:focus-within .hk-ico::before { background: var(--hk-accent-soft); }
.hk-band--surface .hk-feature__title.hk-ico::before { background: var(--hk-surface); }

/* ---------- Link tiles ---------- */
.hk-linktiles { gap: var(--wp--preset--spacing--30); }
.hk-linktile { position: relative; height: 100%; padding: var(--wp--preset--spacing--40); background: var(--hk-bg); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); transition: box-shadow var(--hk-ease), transform var(--hk-ease), border-color var(--hk-ease); }
.hk-linktile > * { margin: 0; }
.hk-linktile__title { font-size: 1.125rem; }
.hk-linktile__title a { color: inherit; text-decoration: none; }
.hk-linktile__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.hk-linktile__text { margin-top: .5rem !important; font-size: var(--wp--preset--font-size--sm); color: var(--hk-muted); }
.hk-linktile:hover { box-shadow: var(--hk-shadow-lg); transform: translateY(-3px); border-color: transparent; }
.hk-linktile:focus-within { outline: 3px solid var(--hk-accent); outline-offset: 2px; }
.hk-linktile a:focus-visible { outline: none; }

/* ---------- Checklist ---------- */
.hk-checklist { list-style: none; padding: 0; margin-top: 1.5rem; }
.hk-checklist li { position: relative; padding: .875rem 0 .875rem 2.5rem; border-bottom: 1px solid var(--hk-line); }
.hk-checklist li:first-child { border-top: 1px solid var(--hk-line); }
.hk-checklist li::before {
  content: ""; position: absolute; left: 0; top: .95rem; width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: var(--hk-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316181D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ---------- CTA band ---------- */
.hk-cta {
  gap: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60);
  background: var(--hk-ink); color: #fff; border-radius: var(--hk-radius-xl); position: relative; overflow: hidden;
}
.hk-cta::after { content: ""; position: absolute; right: -10%; top: -60%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(242, 169, 0, .22), rgba(242, 169, 0, 0)); pointer-events: none; }
.hk-cta > * { position: relative; z-index: 1; }
.hk-cta__copy { max-width: 620px; }
.hk-cta__copy > * { margin: 0; }
.hk-cta__title { color: #fff; font-size: var(--wp--preset--font-size--xl); letter-spacing: -.022em; }
.hk-cta__text { margin-top: .75rem !important; color: rgba(255, 255, 255, .72); }
.hk-cta__actions { gap: .75rem; }
.hk-cta .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .32); }
.hk-cta .is-style-outline .wp-block-button__link:hover { border-color: #fff; color: #fff; }
@media (max-width: 781px) { .hk-cta { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); } }

/* ---------- Chip navigation (paragraph of links) ---------- */
.hk-chip-nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.hk-chip-nav a {
  display: inline-flex; align-items: center; min-height: 40px; padding: .45rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill);
  background: rgba(255, 255, 255, .7); color: var(--hk-ink); font-size: var(--wp--preset--font-size--sm); font-weight: 550; text-decoration: none;
  transition: border-color var(--hk-ease-fast), background-color var(--hk-ease-fast);
}
.hk-chip-nav a:hover { border-color: var(--hk-ink); background: #fff; color: var(--hk-ink); }
.hk-chip-nav a[aria-current="page"] { background: var(--hk-ink); border-color: var(--hk-ink); color: #fff; }

/* ---------- Stores & maps ---------- */
.hk-locate-grid { gap: var(--wp--preset--spacing--30); }
.hk-locate { display: flex; flex-direction: column; height: 100%; padding: var(--wp--preset--spacing--40); }
.hk-locate > * { margin: 0; }
.hk-locate .hk-eyebrow { color: var(--hk-muted); }
.hk-locate__city { font-size: var(--wp--preset--font-size--xl); margin: .25rem 0 1rem; }
.hk-locate__line, .hk-callout__text, .hk-download__name { padding-left: 2rem; }
.hk-locate__line { font-size: var(--wp--preset--font-size--sm); line-height: 1.55; color: var(--hk-ink-2); }
.hk-locate__line + .hk-locate__line { margin-top: .75rem; }
.hk-locate__line a { color: var(--hk-ink); }
.hk-locate__line.hk-ico::before, .hk-callout__text.hk-ico::before, .hk-download__name.hk-ico::before { position: absolute; left: 0; top: .1rem; color: var(--hk-muted); }
.hk-locate .hk-map { margin-top: auto; padding-top: 1.5rem; }

.hk-map__canvas {
  position: relative; display: grid; place-items: center; gap: .75rem; aspect-ratio: 16 / 10; border-radius: var(--wp--custom--radius--md); overflow: hidden;
  background-color: var(--hk-surface);
  background-image:
    linear-gradient(var(--hk-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--hk-line) 1px, transparent 1px);
  background-size: 28px 28px;
  border: 1px solid var(--hk-line);
}
.hk-map__canvas:not(.is-loaded) { grid-template-rows: auto auto; align-content: center; }
.hk-map__pin { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--hk-accent); color: var(--hk-ink); box-shadow: 0 0 0 8px rgba(242, 169, 0, .18); }
.hk-map__pin .hk-icon { width: 22px; height: 22px; }
.hk-map__load { background: #fff; }
.hk-map__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hk-map__directions { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; margin-top: .5rem; font-weight: 600; font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink); text-decoration: none; }
.hk-map__directions .hk-icon { width: 18px; height: 18px; order: 2; transition: transform var(--hk-ease-fast); }
.hk-map__directions:hover { color: var(--hk-ink); }
.hk-map__directions:hover .hk-icon { transform: translateX(3px); }

/* ---------- Contact ---------- */
.hk-contact-cards { margin-bottom: var(--wp--preset--spacing--50) !important; }
.hk-contact-cards .hk-feature p { font-size: var(--wp--preset--font-size--md); }
.hk-contact-cards a { color: var(--hk-ink); }
.hk-contact { gap: var(--wp--preset--spacing--50); margin-top: var(--wp--preset--spacing--50) !important; }
.hk-contact__form h2 { margin-top: 0; }
.hk-contact__aside > * { margin: 0; }
.hk-contact__aside > * + * { margin-top: 1rem; }
.hk-contact__aside .hk-map__canvas { background-color: #fff; }

/* ---------- Embeds (Miele advisor / catalogue) ---------- */
.hk-embed { position: relative; min-height: 520px; border-radius: var(--hk-radius-xl); background: var(--hk-bg); border: 1px solid var(--hk-line); padding: var(--wp--preset--spacing--40); }
.hk-embed.is-ready { min-height: 0; }
.hk-embed__status { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 2rem; text-align: center; }
.hk-embed__status p { margin: 0; color: var(--hk-muted); max-width: 44ch; }
.hk-embed__spinner { width: 36px; height: 36px; border-radius: 50%; border: 3px solid var(--hk-line); border-top-color: var(--hk-accent); animation: hk-spin .9s linear infinite; }
.hk-embed__fallback { display: none; }
.hk-embed__fallback .hk-btn { margin-top: 1rem; }
.hk-embed.is-failed .hk-embed__spinner, .hk-embed.is-failed .hk-embed__loading { display: none; }
.hk-embed.is-failed > :not(.hk-embed__status) { display: none; }
.hk-embed.is-failed .hk-embed__fallback { display: flex; flex-direction: column; align-items: center; }
.hk-embed.is-ready .hk-embed__status { display: none; }
@keyframes hk-spin { to { transform: rotate(360deg); } }
.hk-band--flush { padding-top: var(--wp--preset--spacing--50); }

/* ---------- Product lists ---------- */
.hk-product-list__chips { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; margin-bottom: var(--wp--preset--spacing--40); }
.hk-product-list__chips::-webkit-scrollbar { display: none; }
.hk-product-list__chips .hk-chip { flex: none; min-height: 44px; font-weight: 550; }
.hk-chip__count { font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); font-variant-numeric: tabular-nums; }
.hk-chip.is-active .hk-chip__count { color: rgba(255, 255, 255, .7); }
.hk-product-list__summary { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--sm); color: var(--hk-muted); }
.hk-product-list__empty { margin: 0; padding: var(--wp--preset--spacing--50); border: 1px dashed var(--hk-line); border-radius: var(--hk-radius); text-align: center; color: var(--hk-muted); background: var(--hk-bg); }
.hk-plist-pager { margin-top: var(--wp--preset--spacing--50); }
.hk-plist-pager ul.page-numbers { display: flex; min-width: 0; height: auto; padding: 0; background: none; flex-wrap: wrap; justify-content: center; gap: .375rem; list-style: none; margin: 0; padding: 0; }
.hk-plist-pager li .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .75rem; border-radius: var(--hk-pill); color: var(--hk-ink); text-decoration: none; font-weight: 550; font-variant-numeric: tabular-nums; transition: background-color var(--hk-ease-fast); }
.hk-plist-pager a.page-numbers:hover { background: var(--hk-surface); }
.hk-plist-pager .page-numbers.current { background: var(--hk-ink); color: #fff; }
.hk-plist-pager .hk-icon { width: 18px; height: 18px; }

/* ---------- Brand grid ---------- */
.hk-brandwall__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: var(--wp--preset--spacing--30); list-style: none; margin: 0; padding: 0; }
@media (min-width: 1024px) { .hk-brandwall__list { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.hk-brandwall-tile { display: flex; flex-direction: column; height: 100%; background: var(--hk-bg); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); overflow: hidden; color: var(--hk-ink); text-decoration: none; transition: box-shadow var(--hk-ease), transform var(--hk-ease), border-color var(--hk-ease); }
.hk-brandwall-tile:hover { box-shadow: var(--hk-shadow-lg); transform: translateY(-3px); border-color: transparent; color: var(--hk-ink); }
.hk-brandwall-tile__media { display: grid; place-items: center; aspect-ratio: 3 / 2; padding: 18%; background: var(--hk-surface); }
.hk-brandwall-tile__logo { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform var(--hk-ease-slow); }
.hk-brandwall-tile:hover .hk-brandwall-tile__logo { transform: scale(1.05); }
.hk-brandwall-tile__wordmark { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.125rem; letter-spacing: -0.02em; text-align: center; }
.hk-brandwall-tile__meta { display: flex; flex-direction: column; gap: .125rem; padding: .875rem 1rem 1rem; }
.hk-brandwall-tile__name { font-weight: 650; font-size: var(--wp--preset--font-size--sm); }
.hk-brandwall-tile__count { font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }

/* ---------- Site map ---------- */
.hk-sitemap { display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--50) !important; }
@media (min-width: 782px) { .hk-sitemap { grid-template-columns: 2fr 1fr 1fr; } .hk-sitemap__col--wide:last-child { grid-column: 1 / -1; } }
.hk-sitemap__col { padding: var(--wp--preset--spacing--40); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); }
.hk-sitemap__stack { display: grid; gap: var(--wp--preset--spacing--30); align-content: start; }
.hk-sitemap .hk-sitemap__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--xs); font-family: var(--wp--preset--font-family--body); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--hk-muted); }
.hk-sitemap ul { list-style: none; margin: 0; padding: 0; }
.hk-sitemap li { margin: 0; }
.hk-sitemap a { display: inline-block; padding: .3rem 0; color: var(--hk-ink); text-decoration: none; font-size: var(--wp--preset--font-size--sm); }
.hk-sitemap a:hover { text-decoration: underline; }
.hk-sitemap__col--wide > ul { columns: 2 220px; column-gap: var(--wp--preset--spacing--40); }
.hk-sitemap__col--wide > ul > li { break-inside: avoid; margin-bottom: .75rem; }
.hk-sitemap__col--wide > ul > li > a { font-weight: 650; }
.hk-sitemap li ul { padding-left: .875rem; border-left: 1px solid var(--hk-line); margin: .125rem 0 0 .125rem; }
.hk-sitemap li ul a { color: var(--hk-ink-2); }
.hk-sitemap__brands { columns: 4 150px !important; }

/* ---------- Readable pages (default template) ---------- */
.hk-prose-page .wp-block-post-content > h2 { margin-top: var(--wp--preset--spacing--60); font-size: clamp(1.5rem, 2.4vw, 1.875rem); scroll-margin-top: calc(var(--hk-header-h) + 1.5rem); }
.hk-prose-page .wp-block-post-content > h3 { margin-top: var(--wp--preset--spacing--50); font-size: 1.1875rem; letter-spacing: -0.015em; }
.hk-prose-page .wp-block-post-content > h2 + h3 { margin-top: var(--wp--preset--spacing--40); }
.hk-prose-page .wp-block-post-content > p, .hk-prose-page .wp-block-post-content > ul, .hk-prose-page .wp-block-post-content > ol { color: var(--hk-ink-2); }
.hk-prose-page .wp-block-post-content > ul li + li, .hk-prose-page .wp-block-post-content > ol li + li { margin-top: .5rem; }
.hk-prose-page .wp-block-post-content > .hk-lede { color: var(--hk-ink); margin-bottom: var(--wp--preset--spacing--40); }

.hk-toc { margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50) !important; padding: var(--wp--preset--spacing--40); background: var(--hk-surface); border-radius: var(--hk-radius); }
.hk-toc > * { margin: 0; }
.hk-toc__label { font-size: var(--wp--preset--font-size--xs); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--hk-muted); margin-bottom: .75rem !important; }
.hk-toc__list { list-style: none; padding: 0; columns: 2 200px; column-gap: 2rem; counter-reset: hk-toc; }
.hk-toc__list li { break-inside: avoid; counter-increment: hk-toc; }
.hk-toc__list a { display: flex; gap: .75rem; align-items: baseline; padding: .4rem 0; min-height: 36px; color: var(--hk-ink); text-decoration: none; font-weight: 550; font-size: var(--wp--preset--font-size--sm); }
.hk-toc__list a::before { content: counter(hk-toc, decimal-leading-zero); font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); font-variant-numeric: tabular-nums; }
.hk-toc__list a:hover { color: var(--hk-accent-strong); }

.hk-callout { margin-block: var(--wp--preset--spacing--40) !important; padding: 1rem 1.25rem; background: var(--hk-surface); border-left: 3px solid var(--hk-accent); border-radius: 0 var(--wp--custom--radius--md) var(--wp--custom--radius--md) 0; }
.hk-callout__text { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink); line-height: 1.6; }
.hk-callout__text.hk-ico::before { color: var(--hk-accent-strong); }

.hk-table { margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border: 1px solid var(--hk-line); border-radius: var(--wp--custom--radius--md); overflow: hidden; }
.hk-table table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.hk-table th, .hk-table td { padding: .8rem 1rem; text-align: left; border: 0; border-bottom: 1px solid var(--hk-line); vertical-align: top; }
.hk-table thead { border: 0; }
.hk-table th { background: var(--hk-surface); font-weight: 650; color: var(--hk-ink); }
.hk-table tr:last-child td { border-bottom: 0; }
.hk-table td:last-child:not(:first-child) { font-variant-numeric: tabular-nums; }
.hk-form-table td { height: 52px; }
.hk-form-table td:first-child { width: 42%; background: var(--hk-surface); border-right: 1px solid var(--hk-line); }
.hk-withdrawal-form > * + * { margin-top: 1rem; }
.hk-withdrawal-form p { font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink-2); }

.hk-help-panel { margin-top: var(--wp--preset--spacing--60) !important; }
.hk-help-panel > * { margin: 0; }
.hk-help-panel > * + * { margin-top: .75rem; }
.hk-help-panel .wp-block-buttons { margin-top: 1.25rem; gap: .75rem; }

/* ---------- FAQ accordion (core/details) ---------- */
.hk-faq { border-bottom: 1px solid var(--hk-line); margin-block: 0 !important; }
h2 + .hk-faq, .hk-lede + .hk-faq { border-top: 1px solid var(--hk-line); margin-top: var(--wp--preset--spacing--30) !important; }
.hk-faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding: 1.125rem 0;
  font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.0625rem; letter-spacing: -0.01em; cursor: pointer; list-style: none;
}
.hk-faq summary::-webkit-details-marker { display: none; }
.hk-faq summary::after {
  content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
  background: var(--hk-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316181D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat;
  transition: transform var(--hk-ease), background-color var(--hk-ease);
}
.hk-faq[open] summary::after { transform: rotate(45deg); background-color: var(--hk-accent-soft); }
.hk-faq summary:hover::after { background-color: var(--hk-surface-2); }
.hk-faq summary:focus-visible { outline-offset: 4px; }
.hk-faq > :not(summary) { margin: 0 0 1.25rem; padding-right: 3rem; color: var(--hk-ink-2); }
.hk-faq > :not(summary) + :not(summary) { margin-top: -.5rem; }
@media (prefers-reduced-motion: no-preference) {
  .hk-faq[open] > :not(summary) { animation: hk-faq-in 260ms cubic-bezier(.2, .7, .2, 1); }
}
@keyframes hk-faq-in { from { opacity: 0; transform: translateY(-4px); } }

/* ---------- Downloads ---------- */
.hk-downloads { margin-top: var(--wp--preset--spacing--40) !important; border-top: 1px solid var(--hk-line); }
.hk-download { gap: 1rem; padding: 1.125rem 0; border-bottom: 1px solid var(--hk-line); margin: 0 !important; }
.hk-download__name { margin: 0; line-height: 1.5; }
.hk-download__name a { font-size: var(--wp--preset--font-size--sm); color: var(--hk-muted); }
.hk-download__name.hk-ico::before { top: .2rem; color: var(--hk-ink); }
.hk-download .wp-block-buttons { margin: 0; }

/* ---------- Plugin utility pages ---------- */
.hk-plugin-intro { margin-bottom: var(--wp--preset--spacing--40); }

@media (max-width: 781px) {
  .hk-hero { padding-block: var(--wp--preset--spacing--50); }
  .hk-hero__grid { gap: var(--wp--preset--spacing--50); }
  .hk-band__headrow { flex-direction: column; align-items: flex-start !important; }
}
.hk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* ---------- Grid column counts (override auto-fill from the grid layout) ---------- */
@media (min-width: 700px) {
  .wp-block-group.hk-feature-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-block-group.hk-locate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .wp-block-group.hk-feature-grid:not(.hk-feature-grid--2) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wp-block-group.hk-linktiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wp-block-group.hk-locate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.wp-block-columns.hk-hero__grid { align-items: center !important; }
.hk-hero__media .hk-media-tile img { object-position: left center; }
@media (max-width: 699px) {
  .wp-block-group.hk-linktiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
  .hk-linktile { padding: 1rem; }
  .hk-linktile__title { font-size: 1rem; }
  .hk-contact-cards .hk-feature { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
}
@media (min-width: 1024px) { .hk-stats.hk-stats--row { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }

/* ---------- Numbered steps ---------- */
.hk-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--30); counter-reset: hk-step; }
@media (min-width: 782px) { .hk-steps { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; } }
.hk-steps li { counter-increment: hk-step; position: relative; margin: 0; padding: 4.5rem var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); background: var(--hk-bg); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); line-height: 1.65; }
.hk-steps li::before { content: counter(hk-step); position: absolute; top: var(--wp--preset--spacing--40); left: var(--wp--preset--spacing--40); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--hk-ink); color: #fff; font-weight: 700; font-size: .875rem; font-variant-numeric: tabular-nums; }
.hk-steps li:first-child::before { background: var(--hk-accent); color: var(--hk-ink); }
.hk-steps strong { display: block; margin-bottom: .25rem; color: var(--hk-ink); font-family: var(--wp--preset--font-family--display); font-size: 1.125rem; letter-spacing: -0.015em; }
.hk-embed.is-failed { min-height: 280px; }
