/* Southern Concierge - Brand System 1.0 (agency Digital Kit, 06_Digital_Kit/southern-concierge.css).
   The kit rules below are unchanged; additions for the live site follow the marker "Site additions".
   Contrast (contrast-audit.json): Navy on Oyster 13.13, Palmetto on Oyster 7.46, Oxblood on Oyster 9.01,
   Navy on Sandstone 9.85, Gold on Navy 5.59. Gold on Palmetto 3.18 is large text only; gold on Oyster 2.35
   and Sandstone on Oyster 1.33 are never text. Fonts load from Google Fonts in each page's head. */
:root {
 --sc-oyster:#F4EFE7; --sc-sandstone:#D9D0C3; --sc-palmetto:#315347;
 --sc-navy:#1C2831; --sc-oxblood:#6B2D2B; --sc-gold:#B89A5A;
 --sc-font-display:"Playfair Display",Georgia,serif; --sc-font-body:"Montserrat",Arial,sans-serif;
 --sc-space-1:4px; --sc-space-2:8px; --sc-space-3:12px; --sc-space-4:16px;
 --sc-space-6:24px; --sc-space-8:32px; --sc-space-12:48px; --sc-space-16:64px;
 --sc-space-24:96px; --sc-space-32:128px; --sc-radius-control:8px; --sc-radius-card:12px;
 --sc-radius-feature:16px; --sc-content-max:1200px; --sc-duration:180ms;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sc-oyster);color:var(--sc-navy);font:400 16px/1.65 var(--sc-font-body)}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--sc-font-display);font-weight:400}h1{font-size:clamp(40px,4.8vw,64px);line-height:1.08;letter-spacing:-.02em}h2{font-size:clamp(32px,3.5vw,44px);line-height:1.15;letter-spacing:-.01em}h3{font-size:28px;line-height:1.2}
a{color:var(--sc-palmetto);text-underline-offset:4px}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}a,button{touch-action:manipulation}
:focus-visible{outline:2px solid var(--sc-navy);outline-offset:3px}.dark :focus-visible{outline-color:var(--sc-oyster)}
.container{width:min(var(--sc-content-max),calc(100% - 128px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-palmetto);margin-bottom:16px}.lead{font-size:20px;line-height:1.6;max-width:56ch}.muted{font-size:13px;line-height:1.5}
.skip-link{position:absolute;top:-80px;left:20px;background:var(--sc-navy);color:var(--sc-oyster);padding:12px;z-index:99}.skip-link:focus{top:16px}.preview-note{background:var(--sc-sandstone);padding:8px 20px;text-align:center;font-size:12px}
.site-header{padding:24px 0;border-bottom:1px solid var(--sc-sandstone)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{width:310px}.nav{display:flex;gap:24px;align-items:center}.nav a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--sc-palmetto);border-radius:8px;background:var(--sc-palmetto);color:var(--sc-oyster);text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;transition:background var(--sc-duration) ease-out}.button:hover{background:var(--sc-navy);border-color:var(--sc-navy)}.button.secondary{color:var(--sc-palmetto);background:transparent}.button.secondary:hover{background:var(--sc-sandstone)}.button:disabled{cursor:not-allowed;opacity:.65}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:64px;align-items:center;padding-block:80px 96px}.hero p.lead{margin-top:24px;font-size:18px}.hero .muted{margin-top:20px}.hero-photo{height:560px;border-radius:16px;overflow:hidden;position:relative;background:var(--sc-sandstone)}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-credit{position:absolute;bottom:16px;left:16px;background:var(--sc-oyster);padding:6px 10px;font-size:11px;border-radius:4px}.hero-side-label{writing-mode:vertical-rl;position:absolute;top:24px;right:16px;background:var(--sc-oyster);padding:12px 5px;font-size:11px;letter-spacing:.16em}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:40px 0;border-top:1px solid var(--sc-sandstone);border-bottom:1px solid var(--sc-sandstone)}.benefits h3{font-size:24px;margin-bottom:12px}.benefits p{font-size:14px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-head p{max-width:44ch;font-size:15px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experience-card{overflow:hidden}.experience-card img{height:255px;width:100%;object-fit:cover;border-radius:12px}.experience-card .eyebrow{margin-top:24px;margin-bottom:8px}.experience-card p:not(.eyebrow){font-size:14px;margin-top:12px}.dark{background:var(--sc-navy);color:var(--sc-oyster)}.dark .eyebrow{color:var(--sc-gold)}.dark a{color:var(--sc-oyster)}.process{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}.process h2{max-width:10ch}.steps{display:grid;gap:28px}.step{display:grid;grid-template-columns:44px 1fr;gap:24px}.step-number{font:28px/1.2 var(--sc-font-display);color:var(--sc-gold)}.step h3{font-size:25px;margin-bottom:8px}.step p{font-size:14px}.quote{font:italic 34px/1.3 var(--sc-font-display);max-width:30ch;margin-top:32px}
.plan-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:96px}.plan-grid p{margin-top:24px;max-width:42ch}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:600}input,select,textarea{width:100%;min-height:48px;border:1px solid var(--sc-palmetto);border-radius:8px;background:transparent;color:var(--sc-navy);padding:12px 14px}textarea{min-height:112px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--sc-palmetto);opacity:1}.helper{font-size:12px;line-height:1.5;margin-top:0!important}.form-status{border-left:3px solid var(--sc-palmetto);padding-left:16px;margin-top:20px;font-size:14px}.form-status:empty{display:none}
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:96px;padding-bottom:96px}details{border-top:1px solid var(--sc-sandstone);padding:16px 0}summary{font-size:15px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center}details p{font-size:14px;margin:12px 0 8px}.site-footer{padding:48px 0;background:var(--sc-palmetto);color:var(--sc-oyster)}.footer-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.footer-inner .wordmark{width:280px}.footer-inner p{font-size:12px;max-width:43ch}
@media(max-width:1023px){.container{width:calc(100% - 64px)}.nav{gap:16px}.wordmark{width:240px}.brand .wordmark{width:260px}.hero{gap:32px}.hero-photo{height:480px}.process,.plan-grid,.faq{gap:48px}.section-head{display:block}.section-head p{margin-top:20px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.nav a:not(.button){display:none}.nav .button{font-size:12px;padding:10px 12px}.brand .wm-h{display:none}.brand .wm-s{display:block;width:230px}.brand-mark{width:44px;height:44px}.header-inner{gap:12px}.hero{grid-template-columns:1fr;padding-block:48px 64px;gap:32px}.hero-photo{height:360px}.hero p.lead{font-size:18px}.section{padding-block:64px}.benefits{grid-template-columns:1fr;gap:28px}.experience-grid{grid-template-columns:1fr;gap:40px}.experience-card img{height:280px}.process,.plan-grid,.faq{grid-template-columns:1fr;gap:40px}.process h2{max-width:100%}.form-grid{grid-template-columns:1fr;gap:20px}.field.full{grid-column:auto}.faq{padding-bottom:64px}.footer-inner{display:block}.footer-inner p{margin-top:24px}.quote{font-size:28px}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ===== Site additions (not in the kit) ===== */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header{position:relative}.brand{display:flex;align-items:center;gap:14px;line-height:0;flex:none}
.brand-mark{width:48px;height:48px;border-radius:8px;flex:none}.wm-s{display:none}.brand .wordmark{width:310px}
.nav{flex-wrap:wrap;justify-content:flex-end}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}.footer-links a,.footer-inner a{color:var(--sc-oyster);font-size:13px}
.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.site-footer .footer-inner{align-items:flex-start}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--sc-palmetto);border-radius:8px;background:var(--sc-palmetto);color:var(--sc-oyster);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--sc-duration) ease-out}.btn:hover{background:var(--sc-navy);border-color:var(--sc-navy)}.btn:disabled{cursor:not-allowed;opacity:.65}
.signin{background:none;border:0;padding:0;min-height:44px;color:var(--sc-palmetto);font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:4px 16px}.nav{width:100%;justify-content:flex-start;gap:4px 14px}.nav a:not(.button){display:inline-flex!important}.nav .button{margin-left:auto}}
@media(max-width:700px){.nav a{font-size:13px}.nav .button{width:auto}.actions .button{width:100%}}

/* Branded placeholder where the kit shows photography: pattern, seal, no kit images */
.panel{position:relative;border-radius:16px;overflow:hidden;background:var(--sc-oyster) url(/assets/patterns/sc-coastal-wave.svg) center/cover;border:1px solid var(--sc-sandstone);display:grid;place-items:center}
.panel img.seal{width:min(46%,220px);height:auto}
.hero-photo.panel{height:560px;background:var(--sc-palmetto) url(/assets/patterns/sc-coastal-wave-ivory.svg) center/cover;border-color:var(--sc-palmetto)}
.hero-photo.panel img.seal{width:min(52%,260px)}
.hero-photo .hero-side-label{color:var(--sc-navy)}
.hero-photo .hero-side-label{color:var(--sc-navy)}
.page-hero{padding-block:72px 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.page-hero h1{margin-top:0}.page-hero .lead{margin-top:24px}
.page-hero .panel{height:320px}
.panel .icon{width:96px;height:96px;background:var(--sc-palmetto);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.panel.sand{background-color:var(--sc-sandstone)}
.prose{max-width:62ch}.prose p+p{margin-top:20px}.prose h2{margin-bottom:24px}
.note-line{font-size:14px;max-width:62ch;border-left:3px solid var(--sc-gold);padding-left:16px;margin-top:32px}
.breadcrumb{font-size:13px;padding-top:32px}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
.cta-band{background:var(--sc-palmetto);color:var(--sc-oyster);border-radius:16px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{max-width:20ch}.cta-band .button{background:var(--sc-oyster);color:var(--sc-palmetto);border-color:var(--sc-oyster)}.cta-band .button:hover{background:var(--sc-sandstone);border-color:var(--sc-sandstone);color:var(--sc-navy)}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.occasion-card{display:flex;flex-direction:column;border-top:1px solid var(--sc-sandstone);padding-top:24px}
.occasion-card .panel{height:160px;margin-bottom:24px}.occasion-card .panel .icon{width:56px;height:56px}
.occasion-card h3{font-size:26px}.occasion-card p:not(.eyebrow){font-size:14px;margin-top:12px}
.occasion-card a.more{margin-top:auto;padding-top:16px;font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.experience-grid.six{grid-template-columns:repeat(3,1fr);row-gap:48px}
.steps-list{display:grid;gap:32px;max-width:720px;margin-top:40px}
.faq-page details:last-child{border-bottom:1px solid var(--sc-sandstone)}
.form-status.ok{border-left-color:var(--sc-palmetto)}
.form-status.err{border-left-color:var(--sc-oxblood);color:var(--sc-oxblood)}
.form-status.err a{color:var(--sc-oxblood)}
.field.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- Conversational intake: the front door (kept from v1, in kit tokens) ---- */
.door{margin-top:32px;max-width:560px}
.composer{display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 20px;background:#fbf8f3;border:1px solid var(--sc-palmetto);border-radius:28px}
.composer:focus-within{outline:2px solid var(--sc-navy);outline-offset:3px}
.composer textarea{flex:1;background:transparent;border:0;resize:none;min-height:0;padding:8px 0;max-height:140px;field-sizing:content;line-height:1.55;color:var(--sc-navy)}
.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--sc-palmetto);opacity:1}
.send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--sc-palmetto);color:var(--sc-oyster);display:grid;place-items:center;cursor:pointer}
.send:hover{background:var(--sc-navy)}.send:disabled{opacity:.5;cursor:default}.send svg{width:17px;height:17px}
.door .muted{margin-top:14px}
.thread{display:flex;flex-direction:column;gap:24px}
.turn--host{max-width:62ch;display:flex;gap:14px}
.turn__mark{flex:none;width:9px;height:9px;margin-top:10px;border-radius:50%;background:var(--sc-palmetto)}
.turn--guest{align-self:flex-end;max-width:44ch;background:var(--sc-sandstone);border-radius:18px;padding:12px 18px}
.thinking{display:flex;gap:6px;padding-left:23px}
.thinking span{width:6px;height:6px;border-radius:50%;background:var(--sc-palmetto);animation:pulse 1.25s ease-in-out infinite}
.thinking span:nth-child(2){animation-delay:.16s}.thinking span:nth-child(3){animation-delay:.32s}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
.capture{max-width:62ch;margin-left:23px;display:flex;flex-direction:column;gap:12px}
.capture__row{display:flex;flex-wrap:wrap;gap:10px}.capture input{flex:1 1 200px;min-width:0}
.capture .note,.account .note{font-size:13px;line-height:1.5}
.account{width:min(560px,calc(100vw - 32px));border:1px solid var(--sc-sandstone);border-radius:14px;padding:28px;background:var(--sc-oyster);color:var(--sc-navy)}
.account::backdrop{background:rgba(28,40,49,.4)}.account h2{font-size:28px;margin:8px 0 18px}
.account form{display:flex;flex-direction:column;gap:10px}
.account__close{position:absolute;right:16px;top:12px;background:none;border:0;min-height:44px;color:var(--sc-palmetto);font-size:13px;cursor:pointer;text-decoration:underline}
.account__actions{margin-top:18px}.linkish{background:none;border:0;padding:0;min-height:44px;color:var(--sc-palmetto);font-size:14px;cursor:pointer;text-decoration:underline}
.inquiries{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.inquiry{border-top:1px solid var(--sc-sandstone);padding-top:14px}.inquiry__title{font-weight:600}.inquiry__meta{font-size:14px;margin-top:4px}
@media(max-width:1023px){.page-hero{grid-template-columns:1fr;gap:32px}.related,.experience-grid.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.page-hero{padding-block:40px 32px}.related,.experience-grid.six{grid-template-columns:1fr}.hero-photo.panel{height:260px}.cta-band{padding:32px 24px}.page-hero .panel{height:200px}.capture{margin-left:0}}
@media(max-width:1023px){.brand .wordmark{width:260px}}
@media(max-width:700px){.brand .wm-h{display:none}.brand .wm-s{display:block;width:230px}.brand-mark{width:44px;height:44px}.brand{gap:12px}}

/* ===== Photo cards (shared: homepage, occasion pages; squad-2 may reuse) =====
   Classes: .ph (figure) > .ph__img + .ph__credit ; .ph--empty is the branded placeholder.
   .pgrid (grid) > .pcard (article) > .ph, .eyebrow, h3 > a.pcard__link (stretched link). Aspect ratio comes from --ar on .ph.
   Nothing is ever written across a photo; text sits below it. */
.ph{margin:0;position:relative}
.ph__img{display:block;width:100%;height:auto;aspect-ratio:var(--ar,4/5);object-fit:cover;border-radius:16px;background:var(--sc-sandstone) url(/assets/patterns/sc-coastal-wave.svg) center/cover}
.ph__credit{margin-top:6px;font-size:11px;line-height:1.4;color:var(--sc-navy);opacity:.78}
.ph__credit a{color:inherit;position:relative;z-index:2;display:inline-block;text-align:start;padding-block:15px;margin-block:-15px;line-height:1.4}
.ph--empty .ph__img{background:var(--sc-sandstone) url(/assets/patterns/sc-coastal-wave.svg) center/cover;position:relative}
.ph--empty .ph__img::after{content:"";position:absolute;inset:0;background:url(/assets/sc-seal-palmetto.svg) center/34% no-repeat;opacity:.85;border-radius:inherit}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.pcard{position:relative}
.pcard .eyebrow{margin:16px 0 4px}
.pcard h3{font-size:24px}
.pcard__link{color:var(--sc-navy);text-decoration:none;display:inline-block;text-align:start;padding:12px 8px;margin:-12px -8px}
.pcard__link::after{content:"";position:absolute;inset:0;z-index:1}
.pcard:hover .ph__img{filter:brightness(.96)}
.pcard__link:focus-visible{outline:none}.pcard:focus-within .ph__img{outline:2px solid var(--sc-navy);outline-offset:3px}

/* ===== Hero: question in the middle, a photo either side, light ground ===== */
.qhero{padding-block:56px 64px}
.qhero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:56px;align-items:center}
.qhero__side--l{grid-area:l}.qhero__side--r{grid-area:r}.qhero__mid{grid-area:c}
.qhero__grid{grid-template-areas:"l c r"}
.qhero__mid{text-align:center;display:flex;flex-direction:column;align-items:center}
.qhero h1{font-size:clamp(32px,3.5vw,50px);margin:0;max-width:16ch;text-wrap:balance}
.qhero__sub{margin-top:14px;font-size:16px}
.qhero__occ{margin-top:8px;font-size:13px;font-weight:600;color:var(--sc-palmetto)}
.qcard{width:100%;margin-top:22px}
.qstep{display:flex;flex-direction:column;align-items:center;animation:tide 560ms cubic-bezier(.2,.7,.2,1) both}
.qstep.still{animation:none}
@keyframes tide{from{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
/* The question is a small label above the chips, secondary to the headline. */
.ask{font-family:var(--sc-font-body);font-weight:500;font-size:16px;line-height:1.4;margin:0;text-wrap:balance}
.ask:focus{outline:none}
.aside{margin-top:8px;font-size:14px;line-height:1.5}
.lamps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;max-width:560px}
.lamp{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 20px;border:1px solid var(--sc-palmetto);border-radius:999px;background:transparent;color:var(--sc-navy);font-size:15px;cursor:pointer;transition:background var(--sc-duration) ease-out,color var(--sc-duration) ease-out}
.lamp::before{content:"";width:9px;height:9px;border-radius:50%;border:1px solid var(--sc-palmetto);flex:none;transition:background var(--sc-duration) ease-out,box-shadow var(--sc-duration) ease-out,border-color var(--sc-duration) ease-out}
/* hover/focus never fill a chip: only a picked chip is filled. Hover is a ring (and only where a real pointer hovers, so a tap does not leave a sticky "filled" chip). */
@media(hover:hover){.lamp:hover{box-shadow:0 0 0 1px var(--sc-palmetto)}}
.lamp:focus:not(:focus-visible){outline:none}
.lamp[aria-pressed="true"]{background:var(--sc-palmetto);color:var(--sc-oyster)}
.lamp[aria-pressed="true"]::before{background:var(--sc-gold);border-color:var(--sc-gold);box-shadow:0 0 10px 2px rgba(184,154,90,.6)}
.qextra{width:min(420px,100%);margin-top:16px}
.qfields{display:grid;gap:14px;width:min(440px,100%);margin-top:14px}
.qfield{display:flex;flex-direction:column;gap:6px;text-align:left}
.qfield label{font-size:13px;font-weight:600}
.consent{margin-top:14px;font-size:12px;line-height:1.5;max-width:44ch}
.qstatus{margin-top:12px;font-size:14px}.qstatus:empty{display:none}
.qstatus.err{border-left:3px solid var(--sc-oxblood);padding-left:12px;text-align:left;color:var(--sc-oxblood)}.qstatus.err a{color:var(--sc-oxblood)}
.qnav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.qnav .next{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border:1px solid var(--sc-palmetto);border-radius:8px;background:var(--sc-palmetto);color:var(--sc-oyster);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--sc-duration) ease-out}
.qnav .next:hover{background:var(--sc-navy);border-color:var(--sc-navy)}.qnav .next:disabled{opacity:.4;cursor:not-allowed}
.back,.linkbtn{background:none;border:0;min-height:44px;padding:0 4px;color:var(--sc-palmetto);font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.qhero__foot{margin-top:10px;font-size:13px}
.qhero__alt{display:flex;gap:24px;justify-content:center;margin-top:2px}
/* Progress is a quiet line of six landmarks; no count, no percentage. Palmetto when lit. */
.city{width:min(460px,100%);margin-top:14px;line-height:0}
.city svg{width:100%;height:46px;display:block}
.city .ground,.city .lm{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.city .ground{stroke:rgba(28,40,49,.16);stroke-width:1px}
.city .lm{stroke:rgba(28,40,49,.26);stroke-width:1.1px;transition:stroke 600ms ease}
.city .lm.lit{stroke:var(--sc-palmetto);stroke-width:1.7px}
.chat{width:min(680px,calc(100vw - 32px));max-height:calc(100svh - 32px);border:1px solid var(--sc-sandstone);border-radius:14px;padding:28px;background:var(--sc-oyster);color:var(--sc-navy)}
.chat::backdrop{background:rgba(28,40,49,.5)}
.chat__lead{font-size:28px;margin:6px 0 24px}
.chat .composer{margin-top:24px}.chat .muted{margin-top:14px}

/* ===== Homepage and page sections: heading plus at most one line ===== */
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:28px 0;border-block:1px solid var(--sc-sandstone)}
.triad h3{font-size:24px}
.sec-line{margin-top:10px;font-size:15px}
.steps-quiet .step p{display:none}
.occ-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding-block:56px}
.occ-hero .ph__img{max-height:560px}
.occ-hero h1{margin-top:0}.occ-hero .lead{margin-top:20px}
.foot-note{font-size:13px;margin-top:20px}
@media(max-width:1023px){
 .qhero__grid{grid-template-columns:1fr 1fr;grid-template-areas:"l r" "c c";gap:32px 16px}
 .qhero__side .ph__img{aspect-ratio:4/3}
 .pgrid{grid-template-columns:repeat(2,1fr)}
 .occ-hero{grid-template-columns:1fr;gap:28px;padding-block:32px}
 .triad{gap:24px}
}
@media(max-width:700px){
 .qhero{padding-block:20px 32px}
 .qhero__side .ph__img{aspect-ratio:2/1;border-radius:12px}
 .qhero__grid{gap:16px 10px;align-items:start}
 .qhero__side .ph__credit{font-size:10px}
 .qhero h1{font-size:30px}
 .qcard{margin-top:14px}
 .lamps{gap:8px;margin-top:14px}.lamp{padding:8px 16px;min-height:46px;font-size:14px}
 .qnav{margin-top:16px}.qextra{margin-top:12px}
 .city{margin-top:12px}.city svg{height:38px}
 .pgrid{gap:28px 14px}.pcard h3{font-size:19px}.pcard .eyebrow{font-size:10px;margin-top:12px}
 .triad{grid-template-columns:1fr;gap:12px}
 .pgrid--rel .pcard:nth-child(3){display:none}
 .site-header{padding:10px 0}.brand-mark{width:40px;height:40px}.brand .wm-s{width:210px}.nav a{min-height:40px}
 .chat{padding:20px}
}
@media(prefers-reduced-motion:reduce){.qstep{animation:none}.city .lm{transition:none}}

/* ===== Phone menu: the nav is always reachable without JS; with JS it folds behind a button at <=700px ===== */
.menu-btn{display:none;min-height:44px;padding:0 16px;border:1px solid var(--sc-palmetto);border-radius:8px;background:transparent;color:var(--sc-palmetto);font-size:14px;font-weight:600;cursor:pointer}
.menu-btn[aria-expanded="true"]{background:var(--sc-palmetto);color:var(--sc-oyster)}
.menu-btn:focus-visible{outline:2px solid var(--sc-navy);outline-offset:3px}
@media(max-width:700px){
 .js-menu .menu-btn{display:inline-flex;align-items:center;margin-left:auto}
 .js-menu .header-inner{flex-wrap:wrap}
 .js-menu .nav:not(.open){display:none}
 .js-menu .nav.open{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
 .js-menu .nav.open a:not(.button){min-height:48px;border-top:1px solid var(--sc-sandstone);font-size:15px}
 .js-menu .nav.open .button{margin:12px 0 4px;width:100%}
}

/* ===== How we host (one short page) ===== */
.hw-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-block:48px 24px}
.hw-hero h1{font-size:clamp(34px,4vw,52px)}.hw-hero .lead{margin-top:14px;font-size:18px}
.hw{padding-block:32px;border-top:1px solid var(--sc-sandstone)}
.hw h2{font-size:clamp(26px,2.6vw,32px);margin-bottom:18px}
.hw__steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:760px}
.hw__steps li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:baseline}
.hw__n{font:24px/1 var(--sc-font-display);color:var(--sc-oxblood)}
.hw__steps p{font-size:15px}
.hw__about{max-width:62ch;font-size:16px}
.hw__faq{max-width:760px}
.hw :target,.hw[id]{scroll-margin-top:16px}
@media(max-width:1023px){.hw-hero{grid-template-columns:1fr;gap:24px;padding-block:28px 12px}}
@media(max-width:700px){.js-menu .brand .wm-s{width:170px}.js-menu .header-inner{align-items:center}}
.hw-hero .ph__img{max-height:360px}
@media(max-width:700px){.hw-hero .ph__img{aspect-ratio:2/1}}

/* ===== Been there? (members only, noindex) ===== */
.bt-top{padding-block:40px 8px}.bt-top h1{font-size:clamp(34px,4vw,52px)}.bt-top .lead{margin-top:12px;font-size:17px}
.bt{padding-block:16px 56px}.bt>*{max-width:820px}
.bt-card{border:1px solid var(--sc-sandstone);border-radius:14px;padding:24px;max-width:460px}
.bt-card h2{font-size:26px;margin-bottom:8px}.bt-login{display:grid;gap:14px;margin-top:16px}
.bt-set{border:0;border-top:1px solid var(--sc-sandstone);padding:20px 0 8px;margin:0 0 8px}
.bt-set legend{font:italic 400 24px/1.2 var(--sc-font-display);padding:0 12px 0 0;float:left;width:100%;margin-bottom:14px}
.bt-set>*{clear:both}
.bt-q{margin-bottom:18px}.bt-label{font-size:14px;font-weight:600;margin-bottom:8px}
.lamps--s{justify-content:flex-start;margin-top:0;max-width:none;gap:8px}.lamps--s .lamp{min-height:44px;padding:8px 16px;font-size:14px}
.bt-date{max-width:240px;margin-bottom:18px}.bt .qfield input,.bt .qfield textarea{min-height:48px;border:1px solid var(--sc-palmetto);border-radius:8px;background:transparent;color:var(--sc-navy);padding:12px 14px;width:100%}
.bt-results{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-width:460px}
.bt-hit{text-align:left;min-height:44px;padding:8px 14px;border:1px solid var(--sc-sandstone);border-radius:8px;background:transparent;color:var(--sc-navy);font-size:15px;cursor:pointer}
.bt-hit:hover{background:var(--sc-sandstone)}.bt-picked{margin-top:10px;font-weight:600;color:var(--sc-palmetto)}
.bt-send{margin-top:12px}.bt-send .btn{min-width:200px}
.qstatus.ok{border-left:3px solid var(--sc-palmetto);padding-left:12px}
.bt-mine{margin-top:40px;border-top:1px solid var(--sc-sandstone);padding-top:20px}.bt-mine h2{font-size:26px;margin-bottom:12px}
.bt-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.bt-item{border-top:1px solid var(--sc-sandstone);padding-top:10px}
.bt-item__t{font-weight:600}.bt-item__m{font-size:13px;margin-top:2px}
@media(max-width:700px){.bt-top{padding-block:24px 4px}.bt-set legend{font-size:22px}}

/* Been there? as steps */
.bt-dots{display:flex;gap:8px;margin-bottom:16px}.bt-dots span{width:9px;height:9px;border-radius:50%;border:1px solid var(--sc-palmetto)}
.bt-dots .on{background:var(--sc-palmetto)}.bt-dots .done{background:var(--sc-sandstone)}
.bt-venue{font-weight:600;color:var(--sc-palmetto);margin-bottom:12px;font-size:15px}.bt-venue .linkbtn{font-weight:400;margin-left:6px}
.bt-h{font:italic 400 clamp(26px,3vw,32px)/1.2 var(--sc-font-display);margin:0 0 14px}.bt-h:focus{outline:none}
.bt-tip{font-size:14px;margin-bottom:16px}
.bt-hint{font-weight:400;font-size:12px;margin-left:8px;color:var(--sc-palmetto)}
.lamps--multi .lamp::before{border-radius:3px}
.lamps--multi .lamp[aria-pressed="true"]::before{box-shadow:none}
.bt-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.btn--ghost{background:transparent;color:var(--sc-palmetto)}.btn--ghost:hover{background:var(--sc-sandstone);color:var(--sc-navy);border-color:var(--sc-palmetto)}
.bt-nologin{margin-top:16px}

/* ===== Curator portal (noindex, members with the curator role) ===== */
.footer-quiet{font-size:11px;opacity:.7}
.cu-note{padding-block:32px}.curator-wrap{padding-block:24px}

/* Curator chrome: a slim tool bar instead of the public header */
.cu-top{background:var(--sc-oyster);border-bottom:1px solid var(--sc-sandstone);padding:8px 0}
.cu-top__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.cu-top__brand{display:flex;align-items:center;gap:10px;color:var(--sc-navy);text-decoration:none;font:italic 400 20px/1 var(--sc-font-display)}
.cu-top__brand img{border-radius:6px}
.cu-top__right{display:flex;align-items:center;gap:14px;font-size:14px;min-width:0}
.cu-top__who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}
.cu-top__view{font-size:13px;min-height:44px;display:inline-flex;align-items:center}
.curator-wrap .ed-head{display:none}
.cu-foot{border-top:1px solid var(--sc-sandstone);padding:16px 0;font-size:13px;margin-top:32px}
.cu-top__brand span,.cu-top .linkbtn,.cu-top__view{white-space:nowrap}
@media(max-width:700px){
 .cu-top__in{flex-wrap:wrap;row-gap:0}
 .cu-top__right{display:contents}
 .cu-top__brand{order:1;flex:1;font-size:18px}.cu-top__view{order:2}
 .cu-top__who{order:3;flex:1 1 calc(100% - 90px);max-width:none;min-height:36px;display:flex;align-items:center;font-size:13px}.cu-top .linkbtn{order:4;min-height:36px}
 .cu-top__who[hidden],.cu-top .linkbtn[hidden]{display:none}
}

/* ===== Home: three category photo buttons above the questionnaire ===== */
.qhero{padding-block:32px 56px}
.cat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto 40px}
.cat{position:relative}
.cat .ph__img{filter:saturate(.65) brightness(.9)}
.cat .ph__credit{margin-top:6px}
/* the link covers the photo only (the credit sits below it); scrim keeps the label above 4.5:1 */
.cat__link{position:absolute;top:0;left:0;width:100%;aspect-ratio:var(--ar,3/4);border-radius:16px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--sc-oyster);background:linear-gradient(rgba(28,40,49,.66),rgba(28,40,49,.66));transition:background var(--sc-duration) ease-out}
.cat__link:hover{background:linear-gradient(rgba(28,40,49,.5),rgba(28,40,49,.5))}
.cat__link span{font:600 clamp(15px,1.7vw,20px)/1.2 var(--sc-font-body);text-shadow:0 1px 8px rgba(28,40,49,.6);letter-spacing:.2em;text-transform:uppercase;padding:12px;text-align:center}
.cat__link:focus-visible{outline:3px solid var(--sc-oyster);outline-offset:-6px;box-shadow:0 0 0 2px var(--sc-navy)}
.qhero__mid{max-width:680px;margin-inline:auto}
@media(max-width:700px){
 .qhero{padding-block:16px 32px}
 .cat-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding-inline:20px;margin-bottom:24px;-webkit-overflow-scrolling:touch}
 .cat{flex:0 0 46%;scroll-snap-align:start;min-width:150px}
 .cat__link span{font-size:13px;letter-spacing:.14em}
}

/* ===== Home masthead (the concept board's top band): side labels, wordmark, tagline, motto ===== */
/* No founding year or claim of one. The leopard is reserved as a fixed, empty-looking slot (rosette accent only) until an approved illustration exists. */
.mast{display:grid;grid-template-columns:1fr minmax(0,780px) 1fr;grid-template-areas:"l c r";gap:24px;align-items:start;max-width:1180px;margin:0 auto 36px}
.mast__side{font:500 11px/1.9 var(--sc-font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--sc-navy)}
.mast__side--l{grid-area:l;text-align:left}.mast__side--r{grid-area:r;text-align:right}
.mast__rule{display:block;width:72px;height:1px;background:var(--sc-gold);margin-top:10px}
.mast__side--r .mast__rule{margin-left:auto}
.mast__mid{grid-area:c;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.mast__slot{display:block;height:64px;width:168px;flex:none;background:url(/assets/patterns/sc-rosette-mark.svg) center/contain no-repeat}
.mast__wordmark{width:min(100%,820px);height:auto;margin-top:4px}
.mast__tag{margin-top:12px;font:500 12px/1.6 var(--sc-font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--sc-navy)}
.mast__motto{display:flex;align-items:center;gap:16px;width:100%;margin-top:14px;font:italic 400 15px/1.4 var(--sc-font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--sc-palmetto)}
.mast__motto em{font-style:italic;white-space:nowrap}
.mast__line{flex:1;height:1px;background:var(--sc-gold);min-width:16px}
@media(max-width:1023px){.mast{grid-template-columns:1fr 1fr;grid-template-areas:"c c" "l r";gap:16px 12px}.mast__tag{letter-spacing:.2em}}
@media(max-width:700px){
 .mast{margin-bottom:20px}
 .mast__slot{height:40px;width:150px}
 .mast__tag{font-size:10px;letter-spacing:.16em}
 .mast__motto{gap:8px;font-size:12px;letter-spacing:.1em}.mast__motto em{white-space:normal;text-align:center}
 .mast__side{font-size:9px;letter-spacing:.2em}
 .mast__rule{width:40px}
}

/* Round 8 review fixes */
.mast__slotrow{display:flex;align-items:center;gap:16px;width:100%;margin-bottom:6px}
.triad h2{font-size:24px;line-height:1.2;letter-spacing:0}
/* the header wordmark would repeat the masthead's: home keeps the monogram tile and nav only */

@media(max-width:700px){
 .mast__tag{font-size:12px;letter-spacing:.1em}
 .mast__slot{height:48px;width:126px}
 .mast__slotrow{gap:10px}
}
@media(max-width:700px){
 .cat-row{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none;margin-inline:0;padding-inline:0;gap:16px}
 .cat{flex:none;min-width:0}
 .cat,.cat .ph{--ar:16/9 !important}
 .cat__link{min-height:44px}
 .cat__link span{font-size:15px;letter-spacing:.2em}
}

/* Demo polish IT1 */
/* category tiles: no grey wash; a bottom-only gradient sits behind the label (oyster text >= 4.5:1 even over a white photo) */
.cat .ph__img{filter:none}
.cat__link{align-items:flex-end;background:linear-gradient(to top,rgba(28,40,49,.86) 0%,rgba(28,40,49,.74) 24%,rgba(28,40,49,.18) 58%,rgba(28,40,49,0) 100%)}
.cat__link:hover{background:linear-gradient(to top,rgba(28,40,49,.8) 0%,rgba(28,40,49,.66) 24%,rgba(28,40,49,.12) 58%,rgba(28,40,49,0) 100%)}
.cat__link span{padding:0 12px 18px}
/* tap targets: 44px logo tile and short nav links with a 44px hit area */
.brand-mark{width:48px;height:48px}
.nav a:not(.button){min-width:44px;justify-content:center;padding-inline:8px}
@media(max-width:700px){
 .brand-mark{width:44px;height:44px}
 .nav a{min-height:44px}
 /* phone: one wordmark treatment everywhere (light and night): the horizontal wordmark at the brand book's 260px minimum, no tile */
 .brand-mark{display:none}
 .brand .wm-s,.js-menu .brand .wm-s{display:none}
 .brand{min-height:44px;align-items:center}
 .brand .wm-h{display:block;width:220px}
 /* tiles: two up, then one wide, so the first question shows sooner */
 .cat-row{grid-template-columns:1fr 1fr;gap:14px 12px}
 .cat:nth-child(3){grid-column:1/-1}
 .cat,.cat .ph{--ar:4/3 !important}
 .cat:nth-child(3),.cat:nth-child(3) .ph{--ar:3/1 !important}
 .mast{margin-bottom:12px}.cat-row{margin-bottom:16px}
 .mast__slot{height:40px;width:105px}
 .cat__link span{font-size:13px;letter-spacing:.16em;padding-bottom:14px}
}

/* Demo polish IT2 */
/* footer: 44px tap height for the address and Curators links; the wordmark art aligns with the link column (the SVG has ~28px of left margin) */
.footer-inner p a{display:inline-flex;align-items:center;min-height:44px}
.site-footer .footer-inner .wordmark{margin-left:-28px}
/* no long runs of capitals: the tagline, motto and card eyebrows read as sentences; caps stay on short labels */
.mast__tag{text-transform:none;letter-spacing:.14em;font-size:13px}
.mast__motto{text-transform:none;letter-spacing:.08em}
.pcard .eyebrow{text-transform:none;letter-spacing:.06em}
/* claims strip: centred under the hero, with room below */
.claims{padding-bottom:56px}
.claims .triad{text-align:center}
@media(max-width:700px){.claims{padding-bottom:32px}.mast__tag{font-size:12px;letter-spacing:.08em}}
/* questionnaire: four choices sit four-up on desktop and 2x2 on a phone (never 3+1) */
.lamps--4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:720px;width:100%}
.lamps--4 .lamp{justify-content:center;text-align:center;line-height:1.25}
@media(max-width:700px){.lamps--4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Demo polish IT3 */
/* footer links: a 44x44 target even for short words like Map */
.footer-links a{min-width:44px;justify-content:center;padding-inline:6px}
/* small text links (photo credits, Researched links) keep their size but get a 44px-tall hit area */
/* the questionnaire's date and text reveal always take the full width of their row */
.qstep .qextra{align-self:stretch;margin-inline:auto}
.qextra .qfield,.qextra input{width:100%;min-width:0}
/* mixed-case text is not tracked out: wide tracking belongs to capitals only */
.mast__tag,.mast__motto,.mast__motto em,.pcard .eyebrow{letter-spacing:.01em}

/* Demo polish IT3 (second part) */
/* active page: palmetto underline on the current nav link (aria-current is set by the header script) */
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--sc-palmetto);text-decoration-thickness:2px;text-underline-offset:8px}
.nav.open a[aria-current="page"]{text-decoration:none;box-shadow:inset 3px 0 0 var(--sc-palmetto);padding-left:12px}
/* accordion rows: a + / - marker on the right (FAQ, "See all places") */
details>summary{list-style:none;justify-content:space-between;gap:16px}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"+";flex:none;font:400 22px/1 var(--sc-font-body);color:var(--sc-palmetto)}
details[open]>summary::after{content:"\2212"}
.places-fold{margin-top:8px}
.places-fold>summary{display:flex;align-items:center;min-height:48px;padding:10px 18px;border:1px solid var(--sc-palmetto);border-radius:8px;font-weight:600;cursor:pointer;max-width:360px}
.places-fold[open]>summary{margin-bottom:24px}
.places-fold>.pgrid{margin-top:8px}
/* occasions: one column on a phone, each card its own link */
@media(max-width:700px){.pgrid.pgrid--one{grid-template-columns:1fr}}
/* four-up questionnaire pills never wrap on desktop */
@media(min-width:701px){.lamps--4{display:flex;flex-wrap:nowrap;justify-content:center;max-width:none;width:auto;gap:10px}.lamps--4 .lamp{white-space:nowrap;padding-inline:16px}}
.eyebrow--long,.pcard .eyebrow{letter-spacing:.01em}

/* Demo polish IT4 */
/* questionnaire: step caption, check squares on pick-any steps, a more visible skyline */
.qstepno{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--sc-palmetto);margin-top:4px}
.qhero .lamps--multi .lamp::before{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--sc-palmetto);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;font:700 11px/1 var(--sc-font-body);color:transparent}
.qhero .lamps--multi .lamp[aria-pressed="true"]::before{content:"\2713";background:var(--sc-oyster);border-color:var(--sc-oyster);color:var(--sc-palmetto);box-shadow:none}
.city svg{height:58px}
.city .ground{stroke:rgba(28,40,49,.32);stroke-width:1.2px}
.city .lm{stroke:rgba(28,40,49,.5);stroke-width:1.4px}
.city .lm.lit{stroke:var(--sc-palmetto);stroke-width:2.2px}
/* experiences on a phone: occasions two-up and compact so the first experience comes sooner */
@media(max-width:700px){
 .city svg{height:46px}
 .pgrid.pgrid--one{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin-inline:-20px;padding-inline:20px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
 .pgrid--one .pcard{flex:0 0 64%;scroll-snap-align:start;min-width:210px}
 .pgrid--one .ph{--ar:4/3 !important}
 .pgrid--one .pcard h3{font-size:17px;line-height:1.2}
 .pgrid--one .pcard .eyebrow{font-size:11px;margin-top:8px}
 .pgrid--one .pcard__line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;margin-top:6px}
}
/* the long-form occasion select is as tall as the inputs beside it */
.form-grid select,.form-grid input:not(#website){height:52px}

/* Demo polish IT5 */
/* "Researched" keeps its word; the link itself is 44px tall (negative margin keeps the pill's layout) */
.kb-prov a,.kb-from a{display:inline-flex;align-items:center;min-height:44px;margin-block:-14px}
/* landing H1s: balanced, never ending a line on "in" */
.v-intro--land h1{max-width:none;text-wrap:balance}
/* home: the three category labels show in the first screen (1440x813) */
@media(min-width:701px){
 .home .site-header{padding:14px 0}
 .qhero{padding-block:20px 48px}
 .mast{margin-bottom:22px}
 .mast__slotrow{margin-bottom:2px}
 .mast__slot{height:52px}
 .mast__tag{margin-top:8px}.mast__motto{margin-top:10px}
 .cat,.cat .ph{--ar:1/1 !important}
}
/* phone: the header already shows the wordmark, so the masthead keeps only the rosette row */
@media(max-width:600px){.mast__wordmark{display:none}}

/* Demo polish IT6 */
/* photo-credit links: the link box itself is ~44px tall (padding cancelled by negative margin, so the caption does not grow) */
/* the "host is typing" dots only exist while a reply is pending (the script removes them); they hold still for reduced motion */
@media(prefers-reduced-motion:reduce){.thinking span{animation:none!important;opacity:.7}}

/* Demo polish IT6 (additions) */
.home.mast-seen .brand .wordmark{display:none}
/* phone: the two label stacks are filler; the rosette, wordmark-less masthead and tiles come first */
@media(max-width:600px){.mast__side{display:none}}

/* Demo polish IT7: occasion / experience card titles */
.pcard h3{margin:12px 0 6px}

/* Demo polish IT8 (additions) */
/* home 1440x900: the question heading and first chips sit above the fold (square tiles, one-line headline, tighter gaps) */
@media(min-width:701px){
 .cat,.cat .ph{--ar:1/1 !important}
 .cat-row{margin-bottom:22px}
 .qhero__mid{max-width:800px}
 .qhero h1{max-width:none;font-size:clamp(32px,3.2vw,46px)}
 .qcard{margin-top:14px}
 .mast__slot{height:46px}
}
/* the primary answer button stays Palmetto in every state (hover only deepens it slightly, it never turns navy) */
.qnav .next:hover{background:color-mix(in srgb,var(--sc-palmetto) 84%,var(--sc-navy));border-color:color-mix(in srgb,var(--sc-palmetto) 84%,var(--sc-navy))}

/* Demo polish IT10: the written form is collapsed until asked for (JS reveals it; a #plan link shows it without JS) */
.plan--closed{display:none}
.plan--closed:target{display:grid}
.plan-chat{margin-top:12px}

/* Demo polish IT11: the FAQ gets the standard section padding (it follows the dark band when the written form is collapsed) */
.faq{padding-top:96px}
@media(max-width:1023px){.faq{padding-top:64px}}
/* with the form revealed, the form section's own bottom padding already separates them */
.plan-grid:not(.plan--closed)+.faq{padding-top:0}
