/* Measured compact header; original 1200px desktop breakpoint retained. */
.site-header .header-inner{gap:18px}
.site-header .primary-nav{flex:1 0 auto;justify-content:center;gap:clamp(8px,.75vw,14px)}
.site-header .primary-nav a{flex:0 0 auto;white-space:nowrap;font-size:14px;min-width:max-content}
.site-header .brand-header{flex:0 0 auto}
.site-header .header-actions{flex:0 0 auto;gap:10px}
.site-header .primary-nav .nav-secondary{display:inline-flex}
.site-header .brand-logo-header-css{width:clamp(176px,15vw,196px);height:50px}
.site-header .theme-toggle,.site-header .menu-toggle{flex:0 0 44px;width:44px;height:44px;min-width:44px}
.site-header .mobile-nav .nav-secondary{display:flex}
.site-header .mobile-nav{position:absolute;top:100%;left:0;right:0;overflow-y:auto}.site-header .mobile-nav.open{max-height:calc(100dvh - 150px)}
.site-header .mobile-nav[aria-hidden="true"]{display:none;visibility:hidden;pointer-events:none}
@media(min-width:1200px){.site-header .primary-nav{display:flex}.site-header .menu-toggle{display:none}.site-header .mobile-nav{display:none}}
@media(max-width:1199px){.site-header .primary-nav{display:none}.site-header .menu-toggle{display:grid}}
@media(max-width:499px){.site-header .brand-logo-header-css{width:46px;height:44px}}
/* Reveal content is present from first paint. Motion may decorate, never conceal it. */
[data-reveal],.motion-reveal,.zx-anim,.zxd-anim,.zxv-anim,.js [data-reveal],.js.motion-ready .motion-reveal{opacity:1!important;visibility:visible!important;transform:none!important;clip-path:none!important}
/* Keep intended typography legible even when inline legacy styles are smaller. */
main small,main .small{font-size:max(12px,.8rem)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#lead-title:focus{outline:none}
/* Center the three menu strokes so the open icon forms a clear X. */
.site-header .menu-toggle{position:relative;gap:0}
.site-header .menu-toggle span{position:absolute;left:10px;top:20px;transform:none}
.site-header .menu-toggle span:first-child{transform:translateY(-7px)}
.site-header .menu-toggle span:nth-child(3){transform:translateY(7px)}
.site-header .menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
/* Column sizing lets long panel copy grow vertically after narrow WebKit resizes. */
.zx-panel{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
@media(max-width:380px){.lead-dialog .intake-fields{grid-template-columns:1fr}.lead-dialog .intake-field select{padding-right:30px}}
/* WebKit can retain a single-column grid row's old intrinsic height on resize.
   Normal mobile flow lets each panel grow to its wrapped content. */
@media(max-width:859px){.zx-sec .zx-panels{display:block}.zx-panels .zx-panel+.zx-panel{margin-top:20px}}

/* The enquiry button overlays the page; it never reserves a content column. */
.enquiry-launcher{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:var(--launcher-bottom,20px);z-index:900;width:56px;height:56px;min-height:56px;padding:0;display:grid;place-items:center;border:1px solid #bda16d;border-radius:50%;background:#0f2443;color:#fffaf0;box-shadow:0 5px 18px #0002;cursor:pointer}
.enquiry-launcher[hidden]{display:none}.enquiry-launcher:focus-visible{outline:3px solid #b58d48;outline-offset:3px}
html.lead-open{overflow-y:hidden}
.lead-dialog #step-title:focus,.lead-dialog #done-title:focus{outline:none}
.lead-dialog{--paper:#fffdf8;--paper-2:#f3eadc;--ink:#16202e;--muted:#566170;--line:#d8ccb8;--gold-deep:#876a39;--danger:#a33d32;--serif:Fraunces,Georgia,serif;--sans:Manrope,sans-serif;position:fixed;inset:auto 20px 20px auto;width:min(640px,calc(100% - 40px));max-width:none;max-height:min(70dvh,var(--enquiry-available,600px));overflow:auto;overscroll-behavior:contain;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 12px 48px #0004;font-family:var(--sans);margin:0;scrollbar-gutter:stable}
.lead-dialog::backdrop{background:rgba(15,36,67,.08)}.lead-dialog:not([open]){display:none}
[data-theme="dark"] .lead-dialog{--paper:#121e2b;--paper-2:#162432;--ink:#f0ebe0;--muted:#b9c2ce;--line:#42536b;--gold-deep:#e0be7c;--danger:#ff9f93}
.lead-dialog-bar{position:sticky;top:0;z-index:4;background:var(--paper);border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 16px;font:600 12px/1.5 var(--sans)}
.lead-dialog .lead-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:26px;cursor:pointer}
.lead-dialog .intake-card{border:0;box-shadow:none;margin:0;padding:24px;position:relative;border-radius:0;max-width:100%}
.lead-dialog h2{font:500 28px/1.15 var(--serif);margin:10px 0 18px;letter-spacing:-.025em}
.lead-dialog .intake-fields{grid-template-columns:1fr 1fr}.lead-dialog .intake-options{grid-template-columns:1fr 1fr}
.lead-dialog .intake-topline{flex-wrap:wrap}.lead-dialog .intake-topline .button{font-size:12px;min-height:44px}
.lead-tools{padding:16px 24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 16px;background:var(--paper)}
.lead-tools a,.lead-tools button{font:600 14px/1.4 var(--sans);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;background:none;color:var(--ink);border:0;padding:0;cursor:pointer}
.lead-tools p{font:400 12px/1.6 var(--sans);margin:0;flex-basis:100%}.chain-loading{padding:24px;font-size:16px}
@media(max-width:767px){.lead-dialog{inset:auto 8px 8px 8px;width:calc(100% - 16px);max-height:min(70dvh,var(--enquiry-available,70dvh));border-radius:20px 20px 12px 12px}.lead-dialog .intake-card{padding:16px 12px}.lead-dialog .intake-fields,.lead-dialog .intake-options{grid-template-columns:1fr}.lead-dialog h2{font-size:24px}.lead-dialog .intake-actions{flex-wrap:wrap}.lead-dialog .intake-actions .button{min-width:0;padding:12px;font-size:14px}.lead-dialog-bar{padding:6px 10px}.lead-tools{padding:12px}.lead-dialog .intake-progress{gap:4px}}

.lead-dialog input,.lead-dialog select,.lead-dialog textarea{scroll-margin-top:74px}
/* Cards grow naturally with wrapped text. */
.zxv-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
@media(max-width:859px){[data-explore-grid]{display:block!important}[data-explore-grid]>a+a{margin-top:18px}}

/* Short landscape keeps the same two audience links in the header's first row. */
@media(min-width:520px) and (max-width:1199px) and (max-height:500px){
 .site-header .header-inner{padding-block:8px;min-height:60px;gap:12px}
 .site-header .brand-logo-header-css,[data-theme="dark"] .site-header .brand-logo-header-css{width:46px;height:44px;background-image:image-set(url('/images/brand/zarastays-monogram-light.png') 1x,url('/images/brand/zarastays-monogram-light@2x.png') 2x,url('/images/brand/zarastays-monogram-light@3x.png') 3x)}
 .site-header .header-actions{gap:8px;margin-left:auto}
 .site-header .header-actions>.btn{display:inline-flex;flex:none;min-height:44px;padding:10px 12px;font-size:13px;white-space:nowrap}
 .site-header .zx-audience-bar{display:none}
}

/* Long vendor names retain the card's padding at the smallest phone widths. */
@media(max-width:359px){.zxv-card .zxv-name{font-size:18px}}

/* A viewport-sized sheet with a dedicated scroll body and persistent actions. */
.lead-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.lead-dialog-bar{position:relative;flex:0 0 auto}
#main-chain-root{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.lead-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px;flex:1 1 auto}
.lead-dialog .lead-action-dock{flex:0 0 auto;padding:10px 12px;border-top:1px solid var(--line);background:var(--paper)}
.lead-action-dock .intake-actions{margin:0;flex-wrap:nowrap;gap:8px}
.lead-action-dock #form-error:empty{display:none}
.lead-action-dock #form-error{margin:0 0 8px;max-height:90px;overflow:auto}
html.lead-open,html.lead-open body{overflow:hidden;overscroll-behavior:none}
@media(max-width:767px){
 .lead-dialog{bottom:calc(var(--enquiry-bottom,0px) + env(safe-area-inset-bottom));height:var(--enquiry-height,84dvh);max-height:var(--enquiry-height,84dvh);border-radius:20px 20px 0 0}
 .lead-dialog .intake-card{padding:10px 12px}
 .lead-dialog .intake-progress{margin:4px 0 8px}
 .lead-dialog .intake-step{margin:4px 0}
 .lead-dialog h2{margin:6px 0 10px}
 .lead-dialog .intake-helper{margin:8px 0 12px;font-size:13px;line-height:1.5}
 .lead-dialog .intake-fields{gap:10px}
 .lead-dialog .intake-field{margin:0}
 .lead-dialog .intake-field label{margin-bottom:4px}
 .lead-dialog .field-error:empty{display:none}
 .lead-dialog .intake-topline{gap:4px}
 .lead-dialog .intake-topline .button{padding:4px 8px}
 .lead-dialog .intake-choice{min-height:48px;padding:10px 12px;font-size:15px}
 .lead-dialog .intake-choice:has(input:checked){padding:9px 11px}
 .lead-dialog .intake-options{gap:8px}
 .lead-dialog .intake-group legend{font-size:16px;margin-bottom:8px}
 .lead-dialog .lead-action-dock{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

/* The fixed controls share one geometry source in lead-overlay.js. */
.enquiry-launcher{right:calc(20px + env(safe-area-inset-right))}
.back-to-top{right:calc(20px + env(safe-area-inset-right))!important;bottom:var(--back-top-bottom,144px)!important;width:44px!important;height:44px!important;min-height:44px;transform:none!important;transition:opacity .15s}
.back-to-top[hidden]{display:none!important}
.zx-mobilebar{display:flex!important;position:fixed;inset:auto 0 0;width:100%;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;gap:10px;z-index:890;transform:none!important;opacity:1!important}
.zx-mobilebar a{display:flex;align-items:center;justify-content:center;min-height:44px;flex:1;font-size:14px}
html.floating-blocked .zx-mobilebar{visibility:hidden;pointer-events:none}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
@media(max-width:767px){
 .site-header .header-inner{min-height:64px;padding:8px 12px;gap:8px;flex-wrap:nowrap}
 .site-header .brand-logo-header-css{width:46px;height:44px}
 .site-header .header-actions{gap:8px;margin-left:auto}
 .site-header .header-actions>.btn-primary{display:inline-flex;min-height:44px;padding:10px 12px;font-size:13px;white-space:nowrap;flex:none}
 .site-header .header-actions>.btn-ghost{display:none}
 .site-header .zx-audience-bar{display:none}
 .site-header .mobile-nav.open{max-height:calc(100dvh - 64px)}
 main>section:first-child{padding-bottom:max(100px,env(safe-area-inset-bottom))}
}
.site-header .btn-primary{background:#0f2443;color:#fffdf8;border-color:#0f2443}
[data-theme="dark"] .site-header .btn-primary{background:#e0be7c;color:#0b1119;border-color:#e0be7c}
