/**
 * Header (sections/header.php, prefix hd-): top bar, sticky main bar, desktop menu, mobile panel.
 * Moved verbatim from the inline <style> of each section (loaded in <head> by inc/assets.php).
 */

/* ===== sections/header.php ===== */
.hd{font-family:var(--f-body);color:var(--c-text);-webkit-font-smoothing:antialiased}
.hd *,.hd *::before,.hd *::after{box-sizing:border-box}
.hd .hd-in{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.hd .hd-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hd .hd-ico,.hd .hd-chev{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hd .hd-chev{width:14px;height:14px;stroke-width:2;transition:transform .2s}
.hd :is(.hd-tl,.hd-logo,.hd-link,.hd-subtoggle,.hd-burger):focus-visible{outline:2px solid var(--c-violet);outline-offset:2px;border-radius:var(--radius-sm)}
.hd .hd-list{list-style:none;margin:0;padding:0}

/* Top bar (dark) */
.hd-top{background:var(--c-violet);color:var(--c-on-dark);font-size:var(--fs-xs);line-height:1.3}
.hd-top .hd-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:var(--space-5)}
.hd-top .hd-list{display:flex;flex-wrap:wrap;justify-content:center}
.hd-top .hd-list>li{display:flex;align-items:center}
.hd-top .hd-list>li+li::before{content:"";width:1px;height:14px;margin-inline:var(--space-4);background:var(--c-line-on-dark)}
.hd .hd-tl{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;color:var(--c-text);font-weight:400;text-decoration:none;white-space:nowrap}
.hd a.hd-tl:hover{color:var(--c-violet)}
.hd .hd-tl .hd-ico{color:var(--c-violet)}
.hd-top .hd-tl,.hd-top a.hd-tl:hover,.hd-top .hd-tl .hd-ico{color:var(--c-on-dark)}
.hd-top a.hd-tl:hover{text-decoration:underline;text-underline-offset:3px}
.hd-top .hd-tl:focus-visible{outline-color:var(--c-on-dark)}
.hd-top .hd-list>.hd-t-email,.hd-top .hd-t-right{display:none}

/* Main bar */
.hd-bar{position:sticky;top:0;z-index:100;background:var(--c-white);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-sm)}
.admin-bar .hd-bar{top:var(--wp-admin--admin-bar--height,32px)}
.hd-bar .hd-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:6px}
/* Negative margins absorb the logo file's own transparent top/bottom edges (~3.5% / 1.2%). */
.hd .hd-logo{display:block;flex:none;width:88px;max-width:100%;margin-block:-2px -1px;line-height:0} /* logo at 80%: 88 / 112 / 128px */
.hd .hd-logo-img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
/* Burger: violet capsule "Menu" + two asymmetric lines that morph into a cross */
.hd .hd-burger{display:inline-flex;align-items:center;gap:10px;height:44px;margin:0;padding:0 16px 0 18px;border:0;border-radius:999px;background:var(--c-violet);color:var(--c-on-dark);font:500 var(--fs-sm)/1 var(--f-body);letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 20px -12px rgba(var(--c-violet-rgb),.8);transition:background-color .2s ease}
.hd .hd-burger:hover{background:var(--c-violet-deep);color:var(--c-on-dark)}
.hd .hd-burger:focus-visible{outline-offset:3px}
.hd .hd-bars{position:relative;width:20px;height:10px}
.hd .hd-bar-l{position:absolute;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.7,0,.3,1),width .3s ease,top .3s ease}
.hd .hd-bar-l:nth-child(1){top:0;width:100%}
.hd .hd-bar-l:nth-child(2){top:8px;width:60%}
.hd .hd-burger:hover .hd-bar-l:nth-child(2){width:100%}
.hd-is-open .hd-bar-l:nth-child(1){top:4px;transform:rotate(45deg)}
.hd-is-open .hd-bar-l:nth-child(2),.hd-is-open .hd-burger:hover .hd-bar-l:nth-child(2){top:4px;width:100%;transform:rotate(-45deg)}

/* Panel (mobile): full-height sheet under the bar, fades/slides in */
.hd-panel{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;padding:var(--space-4) var(--gutter) var(--space-6);background:var(--c-white);border-top:1px solid var(--c-border);box-shadow:var(--shadow-md);overflow-y:auto;overscroll-behavior:contain}
.hd-bar:not(.hd-js) .hd-panel{position:static;box-shadow:none}
.hd-js .hd-panel{isolation:isolate;height:calc(100dvh - var(--hd-off,120px));background:radial-gradient(120% 60% at 100% 0%,rgba(var(--c-blush-rgb),.9),rgba(var(--c-blush-rgb),0) 60%),var(--c-white);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear 0s}
.hd-js .hd-panel::before{content:"";position:absolute;z-index:-1;right:-30%;bottom:-6%;width:110%;aspect-ratio:1;background-color:rgba(var(--c-violet-rgb),.06);-webkit-mask:var(--hd-motif) center/contain no-repeat;mask:var(--hd-motif) center/contain no-repeat;pointer-events:none}
.hd-js:not(.hd-is-open) .hd-panel{visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}

/* Menu */
.hd .hd-item{position:relative}
.hd .hd-menu>.hd-item{border-bottom:1px solid var(--c-border)}
.hd .hd-row{display:flex;align-items:center}
.hd .hd-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex:1;min-height:48px;margin:0;padding:var(--space-2) var(--space-3);border:0;border-radius:0;background:none;color:var(--c-text);font:500 var(--fs-base)/1.3 var(--f-body);letter-spacing:-.01em;text-align:left;text-decoration:none;cursor:pointer}
.hd .hd-link:hover,.hd .hd-item--current>.hd-row>.hd-link,.hd .hd-item--ancestor>.hd-row>.hd-link{color:var(--c-violet);background:none}
.hd .hd-item--current>.hd-row>.hd-link::after,.hd .hd-item--ancestor>.hd-row>.hd-link::after{content:"";position:absolute;left:0;top:50%;width:3px;height:20px;margin-top:-10px;border-radius:2px;background:var(--c-violet)}
.hd .hd-subtoggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--c-text);cursor:pointer}
.hd .hd-subtoggle.hd-link{width:auto;height:auto;flex:1;border-radius:0}
.hd .hd-subtoggle:hover{background:var(--c-blush);color:var(--c-violet)}
.hd .hd-subtoggle[aria-expanded="true"] .hd-chev{transform:rotate(180deg)}
.hd .hd-sub{display:none;list-style:none;margin:0;padding:0 0 var(--space-2) var(--space-4)}
.hd .hd-sub-open>.hd-sub,.hd-bar:not(.hd-js) .hd-sub{display:block}
.hd .hd-sub .hd-link{min-height:44px;font-size:var(--fs-md);font-weight:400}

/* CTA */
/* Outline capsule: raspberry used only for the details (border, text, arrow), never as a fill */
.hd .hd-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;margin-top:var(--space-5);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-5);border:1.5px solid var(--c-primary);border-radius:999px;background:transparent;color:var(--c-primary);font:500 var(--fs-md)/1.2 var(--f-body);text-decoration:none;white-space:nowrap;transition:background-color .18s ease}
.hd .hd-cta:hover,.hd .hd-cta:focus-visible{background:rgba(var(--c-primary-rgb),.06);color:var(--c-primary)}
.hd .hd-cta:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px}
.hd .hd-cta-dot{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;color:var(--c-primary)}
.hd .hd-cta-dot .hd-ico{width:16px;height:16px;stroke-width:2.2;transition:transform .18s ease}
.hd .hd-cta:hover .hd-cta-dot .hd-ico,.hd .hd-cta:focus-visible .hd-cta-dot .hd-ico{transform:translateX(3px)}

/* Contact block in panel */
.hd .hd-pcontact{display:grid;margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--c-border);font-size:var(--fs-sm)}
.hd .hd-pcontact .hd-tl{white-space:normal;min-height:44px}
.hd .hd-notice{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--c-blush);font-size:var(--fs-sm)}

/* Mobile menu look: large numbered links, staggered entrance, style-1 CTA, round quick actions */
@media (max-width:1023.98px){
	.hd .hd-menu{counter-reset:hd}
	.hd .hd-menu>.hd-item{counter-increment:hd;border-bottom:1px solid rgba(var(--c-violet-rgb),.1)}
	.hd .hd-menu>.hd-item>.hd-row>.hd-link{justify-content:flex-start;gap:var(--space-4);min-height:60px;padding-inline:0;font:500 1.45rem/1.2 var(--f-heading);letter-spacing:-.02em}
	.hd .hd-menu>.hd-item>.hd-row>.hd-link::before{content:counter(hd,decimal-leading-zero);min-width:22px;color:var(--c-primary);font:500 .75rem/1 var(--f-body);letter-spacing:.06em}
	.hd .hd-menu>.hd-item>.hd-row>.hd-link .hd-chev{margin-left:auto}
	.hd .hd-item--current>.hd-row>.hd-link::after,.hd .hd-item--ancestor>.hd-row>.hd-link::after{display:none}
	.hd .hd-menu>.hd-item--current>.hd-row>.hd-link,.hd .hd-menu>.hd-item--ancestor>.hd-row>.hd-link{color:var(--c-primary);font-style:italic}
	.hd .hd-menu>.hd-item>.hd-row>.hd-subtoggle:not(.hd-link){width:40px;height:40px;border:1px solid rgba(var(--c-violet-rgb),.15);border-radius:50%;background:var(--c-white)}
	.hd .hd-sub{margin:0 0 var(--space-4) calc(22px + var(--space-4));padding:0 0 0 var(--space-4);border-left:2px solid rgba(var(--c-primary-rgb),.25)}
	.hd .hd-sub .hd-link{min-height:40px;padding-inline:0;color:var(--c-muted);font-size:var(--fs-base)}
	.hd .hd-sub .hd-link:hover,.hd .hd-sub .hd-item--current>.hd-row>.hd-link{color:var(--c-violet)}
	.hd-is-open .hd-menu>.hd-item,.hd-is-open .hd-cta,.hd-is-open .hd-pcontact{animation:hd-in .45s cubic-bezier(.2,.7,.2,1) both}
	.hd-is-open .hd-menu>.hd-item:nth-child(2){animation-delay:.05s}
	.hd-is-open .hd-menu>.hd-item:nth-child(3){animation-delay:.1s}
	.hd-is-open .hd-menu>.hd-item:nth-child(4){animation-delay:.15s}
	.hd-is-open .hd-menu>.hd-item:nth-child(5){animation-delay:.2s}
	.hd-is-open .hd-menu>.hd-item:nth-child(n+6){animation-delay:.25s}
	.hd-is-open .hd-cta{animation-delay:.28s}
	.hd-is-open .hd-pcontact{animation-delay:.34s}
	/* Style-1 CTA: violet capsule + white dot with arrow */
	.hd .hd-cta{justify-content:space-between;align-self:stretch;min-height:56px;margin-top:var(--space-6);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border:0;background:var(--c-violet);color:var(--c-on-dark);font-size:var(--fs-base);box-shadow:0 14px 28px -14px rgba(var(--c-violet-rgb),.7)}
	.hd .hd-cta:hover,.hd .hd-cta:focus-visible{background:var(--c-violet-deep);color:var(--c-on-dark)}
	.hd .hd-cta-dot{width:40px;height:40px;border-radius:50%;background:var(--c-white)}
	/* Quick actions */
	.hd .hd-pcontact{margin-top:var(--space-5);padding-top:0;border-top:0}
	.hd .hd-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}
	.hd .hd-q{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-2) 0;color:var(--c-text);font-size:var(--fs-xs);font-weight:500;text-decoration:none}
	.hd .hd-q-ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(var(--c-violet-rgb),.14);border-radius:50%;background:var(--c-white);color:var(--c-violet);box-shadow:0 8px 18px -12px rgba(var(--c-violet-deep-rgb),.5);transition:background-color .2s ease,color .2s ease}
	.hd .hd-q-ico .hd-ico{width:20px;height:20px}
	.hd .hd-q:hover .hd-q-ico{background:var(--c-violet);color:var(--c-on-dark)}
	.hd .hd-q:focus-visible{outline:2px solid var(--c-violet);outline-offset:2px;border-radius:var(--radius-sm)}
	.hd .hd-phours{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--c-muted);font-size:var(--fs-sm)}
	.hd .hd-phours .hd-ico{color:var(--c-primary)}
}
@keyframes hd-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:600px){.admin-bar .hd-bar{top:0}}
@media (min-width:768px){
	.hd-top .hd-in{justify-content:space-between}
	.hd-top .hd-list>.hd-t-email{display:flex}
	.hd .hd-logo{width:112px;margin-block:-3px -1px}
}
@media (min-width:1024px){
	.hd-top{font-size:var(--fs-sm)}
	.hd-top .hd-in{min-height:38px}
	.hd-top .hd-t-right{display:flex}
	.hd .hd-tl{min-height:38px}
	.hd .hd-logo{width:128px;margin-block:-3px -1px}
	.hd .hd-burger{display:none}
	.hd-panel,.hd-js .hd-panel,.hd-js:not(.hd-is-open) .hd-panel{position:static;display:flex;flex-direction:row;align-items:center;flex:1;gap:var(--space-4);height:auto;padding:0;border:0;box-shadow:none;background:none;overflow:visible;visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:none}
	.hd-js .hd-panel::before{display:none}
	.hd .hd-nav{flex:1;display:flex;justify-content:center}
	.hd .hd-menu{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-1)}
	.hd .hd-menu>.hd-item{border:0}
	.hd .hd-link{min-height:44px;font-size:var(--fs-md);white-space:nowrap}
	.hd .hd-item--current>.hd-row>.hd-link::after,.hd .hd-item--ancestor>.hd-row>.hd-link::after{left:var(--space-3);right:var(--space-3);top:auto;bottom:4px;width:auto;height:2px;margin:0}
	.hd .hd-menu>.hd-item>.hd-row>.hd-subtoggle:not(.hd-link){width:28px;height:36px;margin-left:calc(var(--space-2) * -1)}
	.hd .hd-sub{position:absolute;top:100%;left:0;z-index:10;min-width:240px;padding:var(--space-2);background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-md)}
	.hd .hd-menu>.hd-item:last-child>.hd-sub{left:auto;right:0}
	.hd .hd-sub .hd-sub{position:static;min-width:0;padding:0 0 0 var(--space-3);border:0;box-shadow:none}
	.hd .hd-sub .hd-link{min-height:40px;border-radius:var(--radius-sm)}
	.hd .hd-sub .hd-link:hover,.hd .hd-sub .hd-item--current>.hd-row>.hd-link{background:var(--c-blush)}
	.hd .hd-sub .hd-link::after{display:none}
	.hd-bar:not(.hd-js) .hd-sub{display:none}
	.hd-bar:not(.hd-js) .hd-item--has-sub:focus-within>.hd-sub{display:block}
	.hd .hd-cta{margin:0;font-size:var(--fs-md)}
	.hd .hd-pcontact{display:none}
}
@media (min-width:1024px) and (hover:hover){.hd .hd-menu>.hd-item--has-sub:hover>.hd-sub{display:block}}
@media (min-width:1280px){.hd .hd-menu>.hd-item>.hd-row>.hd-link{font-size:var(--fs-base)}}
@media (prefers-reduced-motion:reduce){.hd-js .hd-panel,.hd-js:not(.hd-is-open) .hd-panel{transform:none;transition:none}.hd-is-open .hd-menu>.hd-item,.hd-is-open .hd-cta,.hd-is-open .hd-pcontact{animation:none}.hd .hd-chev,.hd .hd-bar-l,.hd .hd-cta,.hd .hd-cta-dot .hd-ico{transition:none}.hd .hd-cta:hover .hd-cta-dot .hd-ico,.hd .hd-cta:focus-visible .hd-cta-dot .hd-ico{transform:none}}
